/***
 * 一，并发与线程
 * 并发：
 *      一个程序同时执行多个独立任务
 *       单核cpu某一时刻只能执行一个任务
 * 可执行程序：磁盘上的一个文件
 * 
 * 进程：
 * 
 * 
 * //线程：每个进程都有一个主线程，
 *        当执行一个可执行程序，产生一个进程，主线程默认就存在
 * //上下文切换会耗费原本程序执行的时间
 * 
 * 总结：
 *  线程执行代码
 *  一个新线程代表一个新通路
 *  一个进程自动创建一个主线程
 *  主线程自动启动，一个进程最少有一个主线程
*/

#include <iostream>
#include <thread>
#include <mutex>
/**
 * 并发的实现方法
 *  a多进程
 *      启动多个进程
 * 进程间通讯：
 *      管道 文件 消息队列 共享内存
 * 
 *      不同电脑使用socket实现通信
 * b多线程
 *      轻量级进程，一个进程中的线程共享存储空间（全局变量/全局指针/）
 *      使用多线程开销远远小于多进程
 * 
 * 缺点：数据一致性问题
 * 解决：锁
 * 
 * 使用：优先考虑多线程
 * c++11thread
*/

void run(){

}


int main(){



    return 0;
}